/**
 * Methods for protocol tunneling..
 *
 * The tunnel methods are used to send blocks of binary data - which
 *   can be serialised AMQP methods or other protocol frames - between
 *   AMQP peers.
 *
 * @name Tunnel
 * @exports Tunnel as api.Tunnel
 * @class
 */


/**
 * Message header field table
 *
 * @name Tunnel#headers
 * @field
 * @type Object
 */
/**
 * The identity of the tunnelling proxy
 *
 * @name Tunnel#proxyName
 * @field
 * @type String
 */
/**
 * The name or type of the message being tunnelled
 *
 * @name Tunnel#dataName
 * @field
 * @type String
 */
/**
 * The message durability indicator
 *
 * @name Tunnel#durable
 * @field
 * @type Number
 */
/**
 * The message broadcast mode
 *
 * @name Tunnel#broadcast
 * @field
 * @type Number
 */


/**
 * Sends a tunnelled method.
 *
 * This method tunnels a block of binary data, which can be an
 *     encoded AMQP method or other data.  The binary data is sent
 *     as the content for the Tunnel.Request method.
 *
 * @name Tunnel#request
 * @function
 * @param {Object} metaData This field table holds arbitrary meta-data that the sender needs
 *     to pass to the recipient.
 */

